package com.xbongbong.paas.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.paas.toolbox.wrap.QueryIgnore;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.ArrayList;
import java.util.List;

/**
 * @author: wufeng
 * @date: 2018/8/24 11:04
 * @desrcption: 流程任务列表对象
 */
@Getter
@Setter
@ToString
public class ProcessNodeTaskListDTO extends BaseDTO {
    private static final long serialVersionUID = -8216064712034729466L;

    /**
     * 应用id
     */
    private Long appId;
    /**
     * 菜单id
     */
    private Long menuId;

    private Long formId;
    /**
     * saas标记
     */
    private Integer saasMark;
    /**
     * saas应用筛选
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer saasAppType;
    /**
     * saas业务筛选
     */
    private Integer businessType;

    /**
     * 节点状态
     */
    private Integer taskType;

    /**
     * 流程状态
     */
    private Integer flowStatus;

    /**
     * 流程状态列表
     */
    private List<Integer> flowStatusIn;

    /**
     *  节点状态 0：未处理：1：提交；2：提交并打印；3：暂存:4：转交:5：回退:6：激活流程:7：结束流程；8,抄送给我的
     */
    //private List<Integer> taskTypeIn;

    /**
     * 流程状态
     */
    //private List<Integer> flowStatusIn;

    /**
     * 页数
     */
    private Integer page;

    /**
     * 每页行数
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer pageSize;

    /**
     * 提交时间
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private List<Object> commitTime;

    /**
     * 提交人用户id
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private String commitUserId;
    /**
     * 创建人
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private String creatorId;

    /**
     * 删除标记
     */
    private Integer del;

    /**
     * 节点类型
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer nodeType;

    /**
     * 节点类型
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private String processType;

    /**
     * 查询编号
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private String serialNoLike;
    /**
     * 流程节点任务id
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Long processNodeTaskId;

    /**
     * 流程主任务id
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Long processTaskId;

    public ProcessNodeTaskListDTO(){
        commitTime = new ArrayList<>();
        del = 0;
    }

}
